﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class ContactInformation : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ContactType @__contactType;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString @__contactContent;
        
        private bool @__correspondence;
        
        public ContactInformation() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ContactInformation(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ContactType @contactType, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString @contactContent, bool @correspondence) {
            this.@__contactType = @contactType;
            this.@__contactContent = @contactContent;
            this.@__correspondence = @correspondence;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ContactInformation(IContactInformation @contactInformation) {
            this.@__contactType = @contactInformation.ContactType;
            this.@__contactContent = @contactInformation.ContactContent;
            this.@__correspondence = @contactInformation.Correspondence;
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ContactType ContactType {
            get {
                return this.@__contactType;
            }
            set {
                this.@__contactType = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString ContactContent {
            get {
                return this.@__contactContent;
            }
            set {
                this.@__contactContent = value;
            }
        }
        
        public virtual bool Correspondence {
            get {
                return this.@__correspondence;
            }
            set {
                this.@__correspondence = value;
            }
        }
    }
}
